fix: RemoveEmptyHolding / authorizeMPToken Delete MPToken With Active Escrow (sfLockedAmount > 0)#6635
fix: RemoveEmptyHolding / authorizeMPToken Delete MPToken With Active Escrow (sfLockedAmount > 0)#6635Kassaking7 wants to merge 6 commits intoXRPLF:developfrom
Conversation
mvadari
left a comment
There was a problem hiding this comment.
This change needs to be amendment-gated, since it has already been released with Supported::yes
PeterChen13579
left a comment
There was a problem hiding this comment.
Good job on your first PR! Small changes requested to make the tests more readable
|
Do we have any other fix needed. Maybe we can batch those fixes with one amendment-gate? |
@Kassaking7 it is likely we may have one amendment containing other fixes too, @bthomee any suggestions for the fix amendment name here? |
|
/ai-review |
|
Error: Failed to post review to GitHub after 3 attempts: Server error '500 Internal Server Error' for url 'https://api.github.com/repos/XRPLF/rippled/pulls/6635/reviews' Review by Claude Opus 4.6 · Prompt: v12 |
We don't have a name for that amendment yet, but I'll add this PR to my local release tracker sheet so when the time comes we can ask @Kassaking7 to update this PR. In the meantime, @Kassaking7, please guard the changes by a new fix amendment with a suitable name, and then later we can swap out the amendment by the collective fix amendment before merging. Name suggestion for now: |
|
/ai-review |
|
This PR has conflicts, please resolve them in order for the PR to be reviewed. |
|
@Kassaking7 we merged the change that introduces the fix amendment, named |
|
All conflicts have been resolved. Assigned reviewers can now start or resume their review. |
The removeEmptyHolding function in src/libxrpl/ledger/View.cpp can delete an MPToken ledger object even when it has a non-zero sfLockedAmount (i.e., funds are currently held in escrow). This orphans the escrowed funds: the Escrow ledger object still exists, but the MPToken it references has been removed. Any subsequent attempt to finish or cancel the escrow fails, resulting in permanent loss of the escrowed tokens.
High Level Overview of Change
Context of Change
API Impact
libxrplchange (any change that may affectlibxrplor dependents oflibxrpl)